let fs = require('fs');

//1、先拿到text.txt
// fs.readFile('./data/text.txt', (err, data) => {
//     console.log(data)
//     console.log(data.toString())
//     //2. 在拿到name.txt
//     fs.readFile('./data/name.txt', (err, data) => {
//         console.log(data.toString())
//         //3、再拿到age.txt
//         fs.readFile('./data/age.txt', (err, data) => {
//             console.log(data.toString())
            
//         })
//     })
// })


//使用promise 
// let p1 = new Promise((resolve, reject) => {
//     fs.readFile('./data/text.txt', (err, data) => {
        
//         resolve(data.toString())
//     })
// })

// let p2 = p1.then(res => {
//     console.log(res);
//     return new Promise((resolve, reject) => {
//         fs.readFile('./data/name.txt', (err, data) => {
            
//             resolve(data.toString())
//         })
//     })
// }, err => {})

// let p3 = p2.then(res => {
//     console.log(res);
//     return new Promise((resolve, reject) => {
//         fs.readFile('./data/age.txt', (err, data) => {
            
//             resolve(data.toString())
//         })
//     })
// }, err => {})

// p3.then(res => {
//     console.log(res);
// }, err => {})


//===>>使用自己手写的Promise 函数
const MyPromise = require('./MyPromise.js')
let p1 = new MyPromise((resolve, reject) => {
    console.log(1);
    // 异步操作
    fs.readFile('./data/text.txt', (err, data) => {
        console.log(2);
        resolve(data.toString())
    })

    // 同步
    // console.log(2);
    // resolve('哈哈哈')
})

let p2 = p1.then(res => {
    console.log(3);
    console.log(res);
    return new MyPromise((resolve, reject) => {
        fs.readFile('./data/name.txt', (err, data) => {
            
            resolve(data.toString())
        })
    })
})

let p3 = p2.then(res => {
    console.log(res);
})

// p3.then(res => {
//     console.log(res);
// })

